package com.yupi.yupao.utils;

import java.util.HashSet;
import java.util.Set;

public class JaccardSimilarityUtils {

    /**
     * 使用 Jaccard 相似度计算两个集合的相似度
     *
     * @param set1 集合 1
     * @param set2 集合 2
     * @return 相似度
     */
    public static long calculate(Set<String> set1, Set<String> set2) {
        Set<String> intersection = new HashSet<>(set1);
        intersection.retainAll(set2);

        Set<String> union = new HashSet<>(set1);
        union.addAll(set2);

        double similarity = (double) intersection.size() / union.size();

        // 将相似度转为 int 类型并返回
        return (int) (similarity * 100);
    }
}